#include "funkcja.h"
#include "zmienna.h"
#include "zmienna_suma.h"
#include <iostream>
#include <vector>

using namespace std;

int main() {
  cout << "Wektor intow" << endl;
  vector<int> v1(10); // rezerwujemy 10 elementow
  v1[0] = -1;
  vector<int>::const_iterator cit;
  for(cit = v1.begin(); cit!=v1.end(); ++cit) {
    cout << cit-v1.begin() << ": " << *cit << endl;
  }
  cout << "suma = " << suma(v1) << endl;
  cout << "------------------------------------------------" << endl;
  
  cout << "Wektor obiektow Zmienna bez rezerwacji pamieci" << endl;
  vector<Zmienna> vZ1;
  Zmienna z01("z01", 10.125);
  Zmienna z02("z02", -1);
  
  vZ1.push_back(z01);
  vZ1.push_back(z02);
  vector<Zmienna>::const_iterator cvit;
  for(cvit = vZ1.begin(); cvit!=vZ1.end(); ++cvit) {
    cout << cvit-vZ1.begin() << ": " << *cvit << endl;
  }
  cout << sumaZmienna(vZ1) << endl; 
  cout << "------------------------------------------------" << endl;
  
  cout << "Wektor obiektow Zmienna z rezerwacja pamieci" << endl;
  // vector<Zmienna> vZ2(10); /* blad , brak konstruktora bezparam */
  vector<Zmienna> vZ2(4, Zmienna("?", 0.0));
  
  for(cvit = vZ2.begin(); cvit!=vZ2.end(); ++cvit) {
    cout << cvit-vZ2.begin() << ": " << *cvit << endl;
  }
  cout << sumaZmienna(vZ2) << endl;   
}